package org.example.test;

import org.example.domain.ViewSystemTypeDetail;
import org.example.mapper.ViewSystemTypeDetailMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import tk.mybatis.mapper.entity.Example;

import java.util.List;


@SpringBootTest
@RunWith(SpringRunner.class)
public class 更高级的查询多表联查测试类 {
        /*
       多表关联查询，也希望使用tkmapper实现
        需求：
            字典类型表与字典详情表之间，存在关联关系
            想根据字典详情表中的name查询如下数据：
                字典详情表中的 name
                字典类型表中的 name和sn

        解决方案：
            通过将多表联查，转换为一个 视图之后，作为 单 表操作

     */

        @Autowired
        private ViewSystemTypeDetailMapper viewSystemTypeDetailMapper;
        @Test
        public void 多表联查转为单表操作(){

            Example example=new Example(ViewSystemTypeDetail.class);
            example.and().andLike("detailName","%1%");
            List<ViewSystemTypeDetail> list = viewSystemTypeDetailMapper.selectByExample(example);

            System.out.println(list);
        }


    @Test //不创建视图，如何实现多表联查（自定义写一个多表查询 的sql)
    public void 多表联查实现方法() {
        List<ViewSystemTypeDetail> list = viewSystemTypeDetailMapper.findTypeDetailByDetailName("1");
        System.out.println(list);
    }



}
